Apparatus and method for an error minimizing phase locked loop

ABSTRACT

A method of estimating a period and a time delay, or phase, of an input signal. A plurality of transition times {tilde over (t)} i  are received, each transition time {tilde over (t)} i  having a weight α{tilde over (γ)} i  comprising a forgetting factor α and a weighting factor {tilde over (γ)} i . Upon receiving an N th  transition time to and determining an N th  weighting factor γ 0 , maximum likelihood estimates {circumflex over (T)} and {circumflex over (t)} φ  of the period and the time delay, respectively, are calculated. The estimates are computed recursively, with {circumflex over (T)} depending upon α, γ 0 , t 0 , and a preceding maximum likelihood estimate {circumflex over (T)} of the period. The value of {circumflex over (t)} φ  depends upon α, γ 0 , and t 0 . The estimates {circumflex over (T)} and {circumflex over (t)} φ  also depend on sums S N−1   (n) =Σ i=−(N−2)   0 i n α −i{circumflex over (γ)}   i . After the estimates {circumflex over (T)} and {circumflex over (t)} φ  are computed, the sums are updated in anticipation of the next transition time. The method is preferably implemented electronically, resulting in a digital phase locked loop. The weighting factors allow the digital phase locked loop to lock onto a signal having absent transitions.

FIELD OF THE INVENTION

This invention relates generally to methods of timing recovery, and in particular to a digital phase locked loop that uses a recursive, weighted least squares algorithm to determine maximum likelihood estimates of the period and phase of an incoming signal.

BACKGROUND

Phase locked loops are used to synchronize an electronic device to a regular electrical signal. One possible form that a source signal s_(ideal) can take is sinusoidal,

s _(ideal)(ω,φ,t)=sin(ωt+φ).

If the source signal has an unknown frequency ω_(s), an unknown phase φ_(s), and is corrupted by noise n(t), the phase locked loop receives an input signal s(t), where

s(t)=s _(ideal)(ω_(s),φ_(s) ,t)+n(t).

The phase locked loop estimates the values of the frequency and the phase of the received signal to be {circumflex over (ω)} and {circumflex over (φ)}, respectively. Synchronization occurs when the difference between the estimates and the true values have decreased below given tolerances ε_(ω)and ε_(φ):

 |ω_(s)−{circumflex over (ω)}|<ε_(ω) and |φ_(s)−{circumflex over (φ)}|<ε_(φ).

The phase locked loop uses the estimates {circumflex over (ω)} and {circumflex over (φ)} to generate an output signal. Phase locked loops typically achieve synchronization between the input and output signals using a feedback loop comprising a phase detector, a low pass filter, and a voltage controlled oscillator. While the feedback loop converges to the true values of the frequency and phase given infinite time, the rate of convergence is often slow.

A number of phase locked loops have been designed to have an improved convergence rate. In U.S. Pat. No. 5,754,598 by Barrett, Jr. et al., modern optimal control techniques are used to control a phase locked loop for a predetermined period. Classical control techniques are used after the predetermined period. In U.S. Pat. No. 5,291,144 by Ichiyoshi, the input and output signals are complex. The output signal is multiplied by the input signal to obtain a complex phase difference, which is used as feedback to control the output signal.

U.S. Pat. No. 5,093,847 by Cheng describes an adaptive phase locked loop that has coefficients that are automatically adjusted to minimize an error signal. A purely digital approach is presented in “Efficient Digital Techniques for Implementing a Class of Fast Phase-Locked Loops” by Kobayashi et al., IEEE Transactions on Industrial Electronics, 43 (1996) pp. 616-620. In this approach, several previous measurements of the frequency of the input signal are averaged to calculate the estimated frequency {circumflex over (ω)}. However, none of the above phase locked loops are stable under large perturbations of the input signal. Furthermore, the digital approach mentioned above fails to take full advantage of modern computing power.

Finally, in U.S. Pat. No. 5,875,215 by Dobrica, a carrier synchronizing unit uses a recursive least square type phase and amplitude estimation. The synchronizing unit uses known symbol information to characterize the channel through which the input signal propagates prior to being received. However, the synchronizing unit does not lock onto the input signal directly, nor does it estimate the period of the input signal.

Furthermore, many current phase locked loops assume that the input signal is periodic. If the input signal is a digital bit stream, however, the signal is not periodic. The potential for a transition between bits occurs regularly, but a transition does not necessarily take place at every potential transition time. Present state-of-the-art systems that lock on to such aperiodic signals are not tolerant to high levels of interference and noise on the input signal.

OBJECTS AND ADVANTAGES

It is therefore a primary object of the present invention to provide a phase locked loop that converges quickly to an input signal, is robust to perturbations of the input signal, and estimates the period and phase of the input signal using purely digital means. It is an other object of the present invention to provide a phase locked loop that can lock onto a signal having periodic characteristics but which is not itself periodic.

The invention has the advantage that it provides an efficient and stable phase locked loop that can be implemented using modern integrated circuit technology. The invention has the additional advantage that it can lock onto certain noisy aperiodic signals.

SUMMARY

A method of estimating a period and a time delay of an input signal comprises the step of identifying a plurality of transition times {tilde over (t)}_(i) of the input signal, where i=−(N−2) to 0. Each transition time {tilde over (t)}_(i) has a corresponding weight α^(−i){tilde over (γ)}_(i) comprising a forgetting factor a and a weighting factor {tilde over (γ)}_(i). The forgetting factor α reduces the importance of transition times that occurred in the past. The weighting factor {tilde over (γ)}_(i) gives the relative importance of transition time {tilde over (t)}_(i).

Upon receiving an N^(th) transition time t₀ and an N^(th) weighting factor γ₀, the period and the time delay of the input signal are estimated as {circumflex over (T)} and {circumflex over (t)}_(φ), respectively. The time delay is proportional to the phase of the input signal. The values of {circumflex over (T)} and {circumflex over (t)}_(φ) are computed by maximum likelihood techniques using a least squares minimization of an error function that uses the weights α^(−i){tilde over (γ)}_(i). The estimates are made in a recursive manner, with {circumflex over (T)} depending on α, γ₀, t₀, and a preceding maximum likelihood estimate {tilde over (T)} of the period. The value of {circumflex over (t)}_(φ) depends on α, γ₀, and t₀.

The estimates {circumflex over (T)}and {circumflex over (t)}_(φ) also depend on sums $S_{N - 1}^{(n)} = {\sum\limits_{i = {- {({N - 2})}}}^{0}{i^{n}a^{- i}{\overset{\sim}{\gamma}}_{i}}}$

for n=0, 1, and 2. Specifically, $\hat{T} = {\overset{\sim}{T} + {\frac{\left( {S_{N - 1}^{(0)} - S_{N - 1}^{(1)}} \right)\gamma_{0}}{{a\left( {{S_{N - 1}^{(0)}S_{N - 1}^{(2)}} - \left( S_{N - 1}^{(1)} \right)^{2}} \right)} + {\left( {S_{N - 1}^{(2)} - {2S_{N - 1}^{(1)}} + S_{N - 1}^{(0)}} \right)\gamma_{0}}}t_{0}\quad \text{and}}}$ ${\hat{t}}_{\varphi} = {\frac{{- \left( {S_{N - 1}^{(2)} - {2S_{N - 1}^{(1)}} + S_{N - 1}^{(0)}} \right)}\gamma_{0}}{{a\left( {{S_{N - 1}^{(0)}S_{N - 1}^{(2)}} - \left( S_{N - 1}^{(1)} \right)^{2}} \right)} + {\left( {S_{N - 1}^{(2)} - {2S_{N - 1}^{(1)}} + S_{N - 1}^{(0)}} \right)\gamma_{0}}}{t_{0}.}}$

Once {circumflex over (T)} and {circumflex over (t)}_(φ) are obtained, the sums are updated in preparation for a subsequent estimate of the period and time delay.

The present method is preferably implemented by an integrated circuit that produces an output signal whose period and time delay are equal to {circumflex over (T)} and {circumflex over (t)}_(φ), respectively. The physical implementation of the present method therefore results in a digital phase locked loop.

In some embodiments, the forgetting factor α=1. In some embodiments, the weighting factors γ_(i)=1. In the preferred embodiment, α<1, and each of the weighting factors γ_(i) is given a value indicating a confidence level in the accuracy of transition time t_(i.) The weighting factors are particularly useful when receiving a signal with absent transitions. A weighting factor of zero is assigned to missed transitions; therefore good estimates of the period and time delay are maintained. Thus the digital phase locked loop of the present invention can lock onto some aperiodic signals.

The forgetting factor α is adjusted to give a desired insensitivity to noise. As α approaches 1, the estimates {circumflex over (T)} and {circumflex over (t)}_(φ) of the period and time delay become increasingly unresponsive to noise as well as to long-term changes in the period and time delay of the input signal. The forgetting factor α is selected so that, after a predetermined number of transition times, the estimates {circumflex over (T)} and {circumflex over (t)}_(φ) have a desired variance. The digital phase locked loop can therefore be used even when the input signal is very noisy.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic of a digital phase locked loop according to the preferred embodiment of the invention.

FIG. 2 is a schematic of a digital phase locked loop according to a second embodiment of the invention.

FIG. 3 is a graph of the variance of an estimated period versus a sample number N.

FIG. 4 is a graph of the variance of an estimated time delay versus sample number N.

FIG. 5 is a graph of the variance of the estimated period versus a forgetting factor α.

FIG. 6 is a graph of the variance of the estimated time delay versus forgetting factor α.

FIG. 7 is a contour plot of the variance of the estimated time delay versus N and α.

DETAILED DESCRIPTION

I. Method

A digital phase locked loop receives an input signal s(t). The input signal is the sum of a source signal s_(ideal) and a noise term n(t) which corrupts the source signal. The source signal is a function of a source frequency ω_(s) and a source phase φ_(s). Therefore the input signal s(t) can be expressed as:

s(t)=s _(ideal)(ω_(s),φ_(s) ,t)+n(t).

The noise term n(t) is assumed to be a single humped distribution with a maximum at zero. Standard random variable analysis can therefore be applied to develop maximum likelihood estimations {circumflex over (ω)} and {circumflex over (φ)} of the angular frequency and phase, respectively, of input signal s(t).

N samples of the input signal are taken at times t_(i), resulting in N values s_(i). The samples are indexed such that −(N−1)≦i≦0. The sample s₀ at time t₀ is the most recent. From these samples an error function err₁ is constructed that depends on an assumed frequency and phase, ω and φ, of the input signal: $\begin{matrix} {{{err}_{1}\left( {\omega,\varphi} \right)} = {\sum\limits_{i = {- {({N - 1})}}}^{0}\left( {s_{i} - {s_{ideal}\left( {\omega,\varphi,t} \right)}} \right)^{2}}} & (1) \end{matrix}$

Because noise term n(t) is single humped, the values of ω and φ that minimize error function err₁(ω,φ) are the desired maximum likelihood values {circumflex over (ω)} and {circumflex over (φ)}. When the source frequency and phase do not vary with time, minimizing error function err₁ is the ideal way to find {circumflex over (ω)} and {circumflex over (φ)}, given the assumption about the noise.

When ω_(s) and φ_(s) vary slowly with time, Eq.(1) should be modified to include a coefficient in the error function that is a function of time or of sample number so that old samples contribute less to the error function than newer samples. For example, a forgetting factor α, where 0<α<1, can be used to construct a new error function err₂: $\begin{matrix} {{{err}_{2}\left( {\omega,\varphi} \right)} = {\sum\limits_{i = {- {({N - 1})}}}^{0}{a^{- i}\left( {s_{i} - {s_{ideal}\left( {\omega,\varphi,t} \right)}} \right)}^{2}}} & (2) \end{matrix}$

When the newer samples close to index zero were generated by a new frequency and phase, and the older samples were generated by a different frequency and phase, the estimates generated from Eq.(2) are closer to the new frequency and phase.

The present method uses a digital attribute of input signal s(t). The source signal s_(ideal) is characterized by a set of periodic times, called transition times t_(i). Given a digital source, the transition times could be the low to high transitions that occur every period. Given a periodic analog signal, the transition times could be the times of upward zero crossings. In any case, the transition times are ideally regular:

t _(i) ^(ideal) =iT ^(ideal) +t _(φ) ^(ideal).

Here T^(ideal) is the period of the source, T^(ideal)=2π/ω_(s), and t_(φ) ^(ideal) is a time delay corresponding to the phase of the source, t_(φ) ^(ideal)=T^(ideal)(φ_(s)/2π). Although t_(φ) ^(ideal) is a time and not an angle, t_(φ) ^(ideal) is sometimes referred to as a phase, since t_(φ) ^(ideal) is proportional to the phase of the source signal.

The signal detected is not ideal, but is corrupted by noise that shifts the transition times forward and backward:

t _(i) =iT ^(ideal) +t _(φ) ^(ideal) +n _(i).

The phase locked loop according to the present invention determines maximum likelihood estimates {circumflex over (T)} and {circumflex over (t)}_(φ) of the period T^(ideal) and time delay t_(φ) ^(ideal) of the source. The estimates {circumflex over (T)} and {circumflex over (t)}_(φ) are found by constructing an error function err₃ using N transition times t_(i) and assumed values T and t_(φ) of the period and time delay of the input signal: $\begin{matrix} {{{err}_{3}\left( {T,t_{\varphi}} \right)} = {\sum\limits_{i = {- {({N - 1})}}}^{0}{a^{- i}{\gamma_{i}\left( {t_{i} - \left( {{iT} + t_{\varphi}} \right)} \right)}^{2}}}} & (3) \end{matrix}$

The function err₃ gives a weight α^(−i)γ_(i) to the i^(th) transition time. As before, the term α^(−i)is a power of the forgetting factor αthat reduces the importance of samples that occurred in the distant past.

The weight of the i^(th) sample also contains a weighting factor γ_(i) which can vary from sample to sample. Weighting factor γ_(i) is a relative importance of a particular sample. The weighting factors are particularly useful when receiving a signal with absent transitions. For example, the phase locked loop may be reconstructing a carrier wave, from a data signal which has transitions that occur irregularly, but always occur within regularly spaced windows. If the i^(th) transition does not take place within a particular window, a weighting factor γ_(i)=0 is assigned to transition time t_(i.) The zero weighting factor prevents a missed transition from spoiling the error function, allowing good estimates of {circumflex over (T)} and {circumflex over (t)}_(φ) to be maintained.

The values of T and t_(φ) that minimize err₃ are the desired maximum likelihood estimates {circumflex over (T)} and {circumflex over (t)}_(φ). At the minimum of err₃, ${{{{{{\frac{\partial}{\partial t_{\varphi}}{{err}_{3}\left( {T,t_{\varphi}} \right)}}}}}_{\hat{T},{\hat{t}}_{\varphi}} = {0\quad \text{and}\quad \frac{\partial}{\partial T}{{err}_{3}\left( {T,t_{\varphi}} \right)}}}}_{\hat{T},{\hat{t}}_{\varphi}} = 0.$

Evaluating these expressions gives $\begin{matrix} {{{\sum\limits_{i = {- {({N - 1})}}}^{0}{a^{- i}{\gamma_{i}\left( {t_{i} - \left( {{i\hat{T}} + {\hat{t}}_{\varphi}} \right)} \right)}}} = {0\quad \text{and}}}{{\sum\limits_{i = {- {({N - 1})}}}^{0}{a^{- i}{\gamma_{i}\left( {t_{i} - \left( {{i\hat{T}} + {\hat{t}}_{\varphi}} \right)} \right)}i}} = 0.}} & (4) \end{matrix}$

Five sums are defined as follows: $\begin{matrix} {{S_{N}^{(0)} = {\sum\limits_{i = {- {({N - 1})}}}^{0}{a^{- i}\gamma_{i}}}},} & (5) \\ {{S_{N}^{(1)} = {\sum\limits_{i = {- {({N - 1})}}}^{0}{{ia}^{- i}\gamma_{i}}}},} & (6) \\ {{S_{N}^{(2)} = {\sum\limits_{i = {- {({N - 1})}}}^{0}{i^{2}a^{- i}\gamma_{i}}}},} & (7) \\ {{S_{Nt}^{(0)} = {\sum\limits_{i = {- {({N - 1})}}}^{0}{a^{- i}\gamma_{i}t_{i}}}},} & (8) \\ {S_{Nt}^{(1)} = {\sum\limits_{i = {- {({N - 1})}}}^{0}{{ia}^{- i}\gamma_{i}{t_{i}.}}}} & (9) \end{matrix}$

Eqs. (4) can be solved in terms of these sums: $\begin{matrix} {\hat{T} = {{\frac{{S_{N}^{(1)}S_{Nt}^{(0)}} - {S_{N}^{(0)}S_{Nt}^{(1)}}}{\left( S_{N}^{(1)} \right)^{2} - {S_{N}^{(0)}S_{N}^{(2)}}}\quad \text{and}\quad {\hat{t}}_{\varphi}} = {\frac{{S_{N}^{(2)}S_{Nt}^{(0)}} - {S_{N}^{(1)}S_{Nt}^{(1)}}}{\left( S_{N}^{(1)} \right)^{2} - {S_{N}^{(0)}S_{N}^{(2)}}}.}}} & (10) \end{matrix}$

While it is possible to use Eqs. (10) to determine {circumflex over (T)} and {circumflex over (t)}_(φ), the phase locked loop of the present invention uses previous estimates of the period and time delay, as well as previous values of the sums of Eqs. (5)-(9).

Before the arrival of the N^(th) transition time t₀, N−1 transition times {tilde over (t)}_(i) were received, for i=−(N−2) to 0. Each transition time {circumflex over (t)}_(i) had weight α^(−i){tilde over (γ)}_(i), and (N−1)^(th) estimates {tilde over (T)} and {tilde over (t)}_(φ) of the period and the time delay of the input signal were calculated using previous values of the sums of Eqs. (5)-(9). Specifically, $S_{N - 1}^{(n)} = {\sum\limits_{i = {- {({N - 2})}}}^{0}{i^{n}a^{- i}{\overset{\sim}{\gamma}}_{i}}}$

for n=0, 1, and 2; and $S_{{({N - 1})}t}^{(n)} = {\sum\limits_{i = {- {({N - 2})}}}^{0}{i^{n}a^{- i}{\overset{\sim}{\gamma}}_{i}{\overset{\sim}{t}}_{i}}}$

for n=0 and 1. Then the old estimates {tilde over (T)} and {tilde over (t)}_(φ) are given by the analogue of Eqs.(10): $\begin{matrix} {{\overset{\sim}{T} = {\frac{{S_{N - 1}^{(1)}S_{{({N - 1})}t}^{(0)}} - {S_{N - 1}^{(0)}S_{{({N - 1})}t}^{(1)}}}{\left( S_{N - 1}^{(1)} \right)^{2} - {S_{N - 1}^{(0)}S_{N - 1}^{(2)}}}\quad \text{and}}}\quad {{\overset{\sim}{t}}_{\varphi} = {\frac{{S_{N - 1}^{(2)}S_{{({N - 1})}t}^{(0)}} - {S_{N - 1}^{(1)}S_{{({N - 1})}t}^{(1)}}}{\left( S_{N - 1}^{(1)} \right)^{2} - {S_{N - 1}^{(0)}S_{N - 1}^{(2)}}}.}}} & (11) \end{matrix}$

Eqs. (10) can be reworked so that {circumflex over (T)} and {circumflex over (t)}_(φ) can be calculated in an incremental fashion as new transition times are received, to avoid having to re-evaluate all sums in their entirety just to incorporate the effect of one new transition time. The most recent transition time is t₀, and transition time t_(i−1) is older than transition time t_(i). To incorporate a new transition time, the transition times that were indexed i=−(N−2) through i=0 are shifted to indices i=−(N−1) through i=−1 to make room for the new transition time t₀.

The transformation between old transition times {tilde over (t)}_(i) and new transition times t_(i) is:

t _(i−1) ={tilde over (t)} _(i) −{tilde over (T)}−{tilde over (t)} _(φ)  (12)

This transformation causes the expectation value, or average value, of t₀ to be zero:

<t ₀>=0.

The arbitrary weighting factors γ_(i) remain associated with the transition time to which they were first assigned. Therefore the relationship between the old weighting factors {tilde over (γ)}_(i) and the new weighting factors γ_(i) is:

γ_(i−1)={tilde over (γ)}_(i).  (13)

Eq. (5) can be transformed into a recursive relationship by breaking out the first element of the sum, reindexing the remaining sum, then using Eq. (13): $S_{N}^{(0)} = {{\gamma_{0} + {\sum\limits_{i = {- {({N - 1})}}}^{- 1}{a^{- i}\gamma_{i}}}} = {{\gamma_{0} + {\sum\limits_{i = {- {({N - 2})}}}^{0}{a^{- {({i - 1})}}\gamma_{i - 1}}}} = {\gamma_{0} + {a{\sum\limits_{i = {- {({N - 2})}}}^{0}{a^{- i}{{\overset{\sim}{\gamma}}_{i}.}}}}}}}$

Therefore,

S _(N) ⁽⁰⁾=γ₀ +αS _(N−1) ⁽⁰⁾.  (14)

Similar mathematical manipulations give recursive equations for sums S_(N) ⁽¹⁾ and S_(N) ⁽²⁾:

S _(N) ⁽¹⁾=α(S _(N−1) ⁽¹⁾ −S _(N−1) ⁽⁰⁾),  (15)

S _(N) ⁽²⁾=α(S _(N−1) ⁽²⁾−2S _(N−1) ⁽¹⁾ −S _(N−1) ⁽⁰⁾).  (16)

Recursive relations for S_(Nt) ^((n)) can also be derived using Eqs. (12) and (13):

S _(Nt) ⁽⁰⁾=γ₀ t ₀ +αS _((N−1)t) ⁽⁰⁾ −αS _(N−1) ⁽⁰⁾({tilde over (T)}+{tilde over (t)} _(φ)),  (17)

S _(Nt) ⁽¹⁾ =αS _((N−1)t) ⁽¹⁾ −αS _((N−1)t) ⁽⁰⁾ −αS _(N−1) ⁽¹⁾({circumflex over (T)}+{tilde over (t)} _(φ))+αS _(N−1) ⁽⁰⁾({tilde over (T)}+{tilde over (t)} _(φ))  (18)

Now, using Eqs. (11) and (14-18), Eqs. (10) can be transformed to the following expressions: $\begin{matrix} {\hat{T} = {\overset{\sim}{T} + {\frac{\left( {S_{N - 1}^{(0)} - S_{N - 1}^{(1)}} \right)\gamma_{0}}{{a\left( {{S_{N - 1}^{(0)}S_{N - 1}^{(2)}} - \left( S_{N - 1}^{(1)} \right)^{2}} \right)} + {\left( {S_{N - 1}^{(2)} - {2S_{N - 1}^{(1)}} + S_{N - 1}^{(0)}} \right)\gamma_{0}}}t_{0}}}} & (19) \\ {{\hat{t}}_{\varphi} = {\frac{{- \left( {S_{N - 1}^{(2)} - {2S_{N - 1}^{(1)}} + S_{N - 1}^{(0)}} \right)}\gamma_{0}}{{a\left( {{S_{N - 1}^{(0)}S_{N - 1}^{(2)}} - \left( S_{N - 1}^{(1)} \right)^{2}} \right)} + {\left( {S_{N - 1}^{(2)} - {2S_{N - 1}^{(1)}} + S_{N - 1}^{(0)}} \right)\gamma_{0}}}t_{0}}} & (20) \end{matrix}$

Notice that the sums S_((N−1)t) ^((n)) do not appear in Eqs. (19) and (20).

Equations (14)-(16) and (19)-(20) are the cornerstones of the present method of implementing a phase locked loop. A computing device maintains the internal variables S_(N−1) ⁽⁰⁾, S_(N−1) ⁽¹⁾, S_(N−1) ⁽²⁾, {tilde over (T)} and {tilde over (t)}_(φ). The debice then identifies transition time t₀ of the input signal, and determines the value of weighting factor γ₀. The device calculates new maximum likelihood estimates {circumflex over (T)} and {circumflex over (t)}_(φ) using Eqs. (19) and (20), then updates the sums according to Eqs. (14)-(16). Preferably, the device creates an output signal based on the estimates {circumflex over (T)} and {circumflex over (t)}_(φ). The process is repeated for each transition time received.

As will be clear to one skilled in the art, the device will operate faster if parts of Eqs. (19) and (20) are calculated in advance, before the arrival of transition time t₀. For example, in some embodiments, the coefficient of t₀ appearing in Eq. (20) is calculated in advance, assuming γ₀=1. When transition time to arrives, weighting factor γ₀ is determined. If γ₀=1, the pre-calculated coefficient is multiplied by transition time t₀ to obtain {circumflex over (t)}_(φ). If γ₀=0, {circumflex over (t)}_(φ)=0.

In general, the weighting factors γ_(i) are not determined ahead of time. However, some simplification of the method occurs if all the weighting factors are identically equal to, one: γ_(i)=1. The sums S_(N−1) ^((n)) can then be evaluated analytically, with the following results: $\begin{matrix} {{\hat{T} = {\overset{\sim}{T} + {\left\lbrack \frac{\begin{matrix} {{\left( {N - 1} \right)a^{N + 2}} - {\left( {{3N} - 2} \right)a^{N + 1}} +} \\ {{\left( {{3N} - 1} \right)a^{N}} + a^{2} - {2a} + 1} \end{matrix}}{a^{2N} - {N^{2}a^{N + 1}} + {2\left( {N^{2} - 1} \right)a^{N}} - {N^{2}a^{N - 1}} + 1} \right\rbrack t_{0}}}},} & (21) \\ {{\hat{t}}_{\varphi} = {\left\lbrack \frac{\begin{matrix} {{{- \left( {N - 1} \right)^{2}}a^{N + 2}} + {\left( {{3N} - 4} \right){Na}^{N + 1}} -} \\ {{\left( {{3N} + 1} \right)\left( {N - 1} \right)a^{N}} + {N^{2}a^{N - 1}} + a^{2} - 1} \end{matrix}}{a^{2N} - {N^{2}a^{N + 1}} + {2\left( {N^{2} - 1} \right)a^{N}} - {N^{2}a^{N - 1}} + 1} \right\rbrack {t_{0}.}}} & (22) \end{matrix}$

Still further simplification occurs in at least two different limits. In the first limit, the number of samples N is taken to be very large: N→∞. In this case, Eqs. (21) and (22) reduce to:

{circumflex over (T)}={tilde over (T)}+(1−α)² t ₀,  (23)

{circumflex over (t)} _(φ)=−(1−α²)t ₀.  (24)

In the second limit, N is finite, and the forgetting factor α approaches unity: α→1. In this limit, Eqs. (21) and (22) become: $\begin{matrix} {{\hat{T} = {\overset{\sim}{T} + {\frac{6}{N\left( {N + 1} \right)}t_{0}}}},} & (25) \\ {{\hat{t}}_{\varphi} = {\frac{{- 2}\left( {{2N} - 1} \right)}{N\left( {N + 1} \right)}{t_{0}.}}} & (26) \end{matrix}$

II. Apparatus

FIG. 1 is a diagram of a circuit 100 of a digital phase locked loop according to the preferred embodiment of the invention. A receiver 10 receives the input signal and sends the input signal to a comparator 12. The comparator identifies transition time t₀ and delivers an electrical signal corresponding to transition time t₀ to circuit elements 14 and 16.

Preferably, comparator 12 compares transition time t₀ to an expected time t′, and determines the value of weighting factor γ₀ based upon the proximity of t₀ to t′. For example, in one embodiment, γ₀=1 if |t₀−t′|≦w for some preselected value of w, and γ₀=0 if |t₀−t′|>w. Many other methods for choosing the value of γ₀ will be apparent to one skilled in the art, and could be used by comparator 12. In the preferred embodiment, the times t₀ and t′ are normalized so that t′=0. In other words, transition time t₀ is the time of a transition of the input signal, measured relative to the expected time t′ of the transition.

Circuit element 14 computes the maximum likelihood estimate of the time delay, {circumflex over (t)}_(φ), according to Eq. (20). Circuit element 16 computes the value of {circumflex over (T)} according to Eq. (19). The period and time delay estimates {circumflex over (T)} and {circumflex over (t)}_(φ) are output from circuit elements 16 and 14 to a signal generator 18 that generates an output signal having a period and a time delay equal to {circumflex over (T)} and {circumflex over (t)}_(φ), respectively. The output signal is sent to comparator 12, so that the comparator may determine the expected time t′. The output signal is also sent to an electrical output 20 that transmits the output signal to other devices as needed.

Weighting factor γ₀ is output from comparator 12 to an adder 22 whose result is the value of S_(N) ⁽⁰⁾ according to Eq. (14). The value of S_(N−1) ⁽⁰⁾ is stored in delay element 24, and is sent to circuit elements 14 and 16 to calculate and {circumflex over (t)}_(φ) and {circumflex over (T)}. S_(N−1) ⁽⁰⁾ is also multiplied by forgetting factor α and is input into adder 22 to compute S_(N) ⁽⁰⁾. The value of S_(N) ⁽⁰⁾ that is output from adder 22 is subsequently stored in delay element 24 in preparation for the arrival of the next transition time. Similarly, adders 26 and 28 output S_(N) ⁽¹⁾ and S_(N) ⁽²⁾, respectively.

FIG. 2 is a diagram of a circuit 200 of a digital phase locked loop according to a second embodiment of the invention. In this embodiment, all weighting factors γ_(i)=1. A comparator 30 determines the transition time t₀ of the input signal received by receiver 10. As before, transition time t₀ is measured relative to the expected time t′ of the transition. Expected time t′ is obtained from signal generator 18. Transition time t₀ is sent to circuit elements 32 and 34 that compute {circumflex over (T)} and {circumflex over (t)}_(φ) according to Eqs. (21) and (22), respectively. In an alternative embodiment, circuit elements 32 and 34 compute {circumflex over (T)} and {circumflex over (t)}_(φ) according to Eqs. (23) and (24), respectively. In another alternative embodiment, circuit elements 32 and 34 compute {circumflex over (T)} and {circumflex over (t)}_(φ) according to Eqs. (25) and (26), respectively.

III. Synchronization Quality

The quality of the synchronization of the phase locked loop can be determined by considering the noise in {circumflex over (T)} and {circumflex over (t)}_(φ) to be generated by the sequence of independent identically distributed random variables n_(i). Transition times t_(i) are given by

t _(i) =iT ^(ideal) +t _(φ) ^(ideal) +n _(i).

If the incoming period T^(ideal) and phase t_(φ) ^(ideal) are stable, taking on constant values for all time, then the variation in the estimates {circumflex over (T)} and {circumflex over (t)}_(φ) is due to the added noise.

Through Eqs. (10) the variance of {circumflex over (T)} and {circumflex over (t)}_(φ) can be expressed in terms of the mean <n> and variance <n²>−<n>² of each of the n_(i)′s. Therefore, given the parameters α, N, and the γ_(i)′s, the accuracy with which the phase locked loop is estimating and locking onto the input signal can be determined. The user can alter the parameters, making trade-offs between locking accuracy, tracking of source variations, and locking speed.

The noise is assumed to have the following characteristics: <n_(i)>=0 for every i, and <n_(i)n_(j)>=0 when i≠j. Furthermore, the value of <n_(i) ²> is the same for every i: <n_(i) ²>≡<n²>. From these assumptions, the variance of {circumflex over (T)} and {circumflex over (t)}_(φ) can be derived from Eqs. (10): $\begin{matrix} {{{\langle{\hat{T}}^{2}\rangle} - {\langle\hat{T}\rangle}^{2}} = {\frac{1}{\left( {\left( S_{N}^{(1)} \right)^{2} - {S_{N}^{(0)}S_{N}^{(2)}}} \right)^{2}}\left\{ {{\left( S_{N}^{(1)} \right)^{2}{\sum\limits_{i = {- {({N - 1})}}}^{0}{a^{{- 2}i}\gamma_{i}^{2}}}} - {2S_{N}^{(0)}S_{N}^{(1)}{\sum\limits_{i = {- {({N - 1})}}}^{0}{{ia}^{{- 2}i}\gamma_{i}^{2}}}} + {\left( S_{N}^{(0)} \right)^{2}{\sum\limits_{i = {- {({N - 1})}}}^{0}{i^{2}a^{{- 2}i}\gamma_{i}^{2}}}}} \right\} {\langle n^{2}\rangle}}} & (27) \\ {{{\langle{\hat{t}}_{\varphi}^{2}\rangle} - {\langle{\hat{t}}_{\varphi}\rangle}^{2}} = {\frac{1}{\left( {\left( S_{N}^{(1)} \right)^{2} - {S_{N}^{(0)}S_{N}^{(2)}}} \right)^{2}}\left\{ {{\left( S_{N}^{(2)} \right)^{2}{\sum\limits_{i = {- {({N - 1})}}}^{0}{a^{{- 2}i}\gamma_{i}^{2}}}} - {2S_{N}^{(1)}S_{N}^{(2)}{\sum\limits_{i = {- {({N - 1})}}}^{0}{{ia}^{{- 2}i}\gamma_{i}^{2}}}} + {\left( S_{N}^{(1)} \right)^{2}{\sum\limits_{i = {- {({N - 1})}}}^{0}{i^{2}a^{{- 2}i}\gamma_{i}^{2}}}}} \right\} {\langle n^{2}\rangle}}} & (28) \end{matrix}$

Eqs. (27) and (28) give the variance of the maximum likelihood estimates of the period and time delay for any N, α, and an arbitrary set of weighting factors γ_(i).

A better understanding of the variances of {circumflex over (T)} and {circumflex over (t)}_(φ) can be obtained by considering the case when γ_(i)=1 for all i. Two limits of this case are especially informative. In the first limit, the forgetting factor α→1 . In this limit, $\begin{matrix} {{{{\langle{\hat{T}}^{2}\rangle} - {\langle\hat{T}\rangle}^{2}} = {\frac{12}{N\left( {N^{2} - 1} \right)}{\langle n^{2}\rangle}}},} & (29) \\ {{{\langle{\hat{t}}_{\varphi}^{2}\rangle} - {\langle{\hat{t}}_{\varphi}\rangle}^{2}} = {\frac{2\left( {{2N} - 1} \right)}{N\left( {N + 1} \right)}{{\langle n^{2}\rangle}.}}} & (30) \end{matrix}$

FIG. 3 shows a graph of the variance of the estimated period, normalized by the variance of the noise, versus N. That is, FIG. 3 is a graph of (<{circumflex over (T)}²>−<{circumflex over (T)}>²)/<n²> versus N, as given by Eq. (29). FIG. 4 is a graph of the normalized variance of the time delay vs. N, as given by Eq. (30).

In the second limit, N→∞ and α remains arbitrary. In this limit, $\begin{matrix} {{{{\langle{\hat{T}}^{2}\rangle} - {\langle\hat{T}\rangle}^{2}} = {\frac{2\left( {1 - a^{3}} \right)}{\left( {1 + a} \right)^{3}}{\langle n^{2}\rangle}}},} & (31) \\ {{{\langle{\hat{t}}_{\varphi}^{2}\rangle} - {\langle{\hat{t}}_{\varphi}\rangle}^{2}} = {\frac{1 + {3a} + a^{2} - {5a^{3}}}{\left( {1 + a} \right)^{3}}{{\langle n^{2}\rangle}.}}} & (32) \end{matrix}$

FIG. 5 is a graph of the variance of {circumflex over (T)} vs. α according to Eq. (31). FIG. 6 is a plot of the variance of {circumflex over (t)}_(φ) vs. α according to Eq. (32). In FIGS. 5 and 6, as in FIGS. 3 and 4, the variances are normalized by the variance of the noise, <n²>.

As FIGS. 3-6 show, the variance of both the period and the time delay decrease as N increases and as α increases. The variances of the period and the time delay approach zero as α→1 and N→∞. This indicates that given an infinite number of transition times all evenly weighted, the phase locked loop would produce a perfect estimate of the period and the time delay of the input signal.

In more realistic situations, Eqs. (27) and (28) must be used to determine the values of α and N that give characteristics that will satisfy the needs of the desired application of the phase locked loop. A larger value of α may be traded off for a larger value of N for a given variance of the period or time delay. A larger value of α slows the response to a variation in either the period T^(ideal) or phase t_(φ) ^(ideal) of the source. A larger value of N means a larger number of samples are needed to reach a locked state.

FIG. 7 is a contour plot of the normalized variance of {circumflex over (t)}_(φ) vs. α and N. Along a contour C9, the normalized variance of {circumflex over (t)}_(φ) is equal to 0.9. Along a contour C1, the normalized variance is 0.1. Intermediate contours are shown in increments of 0.1. For example, along a contour C6, (<{circumflex over (t)}_(φ) ²>−<{circumflex over (t)}_(φ)>²)/<n²>=0.6. FIG. 7 can be used to determine the optimum value of α needed for a given application. In FIGS. 3-7, it is assumed that all of the weighting factors are equal to one.

It will be apparent to one skilled in the art that many variations of the above method and apparatus are possible. Therefore, the scope of the invention should be determined by the following claims and their legal equivalents. 

I claim:
 1. A method of estimating a period and a time delay of a signal, said method comprising the steps of: a) selecting a forgetting factor α; b) electrically receiving an N^(th) transition time t₀ of said signal; c) assigning an N^(th) weighting factor γ₀ to said N^(th) transition time t₀; d) electronically computing a maximum likelihood estimate {circumflex over (T)} of said period using said N^(th) transition time t₀, said forgetting factor α, said N^(th) weighting factor γ₀, and a preceding maximum likelihood estimate {circumflex over (T)} of said period; and e) electronically computing a maximum likelihood estimate {circumflex over (t)}_(φ) of said time delay using said N^(th) transition time t₀, said forgetting factor α, and said N^(th) weighting factor γ₀.
 2. The method of claim 1, further comprising the steps of: a) receiving N−1 transition times {tilde over (t)}_(i) prior to said N^(th) transition time t₀; b) assigning a weighting factor {tilde over (γ)}_(i) to each of said N−1 transition times {tilde over (t)}_(i) ; c) electronically storing sums S_(N−1) ^((n)) for n=0, 1, and 2, wherein $S_{N - 1}^{(n)} = {\sum\limits_{i = {- {({N - 2})}}}^{0}{i^{n}a^{- i}{{\overset{\sim}{\gamma}}_{i}.}}}$


3. The method of claim 2, wherein $\hat{T} = {\overset{\sim}{T} + {\frac{\left( {S_{N - 1}^{(0)} - S_{N - 1}^{(1)}} \right)\gamma_{0}}{{a\left( {{S_{N - 1}^{(0)}S_{N - 1}^{(2)}} - \left( S_{N - 1}^{(1)} \right)^{2}} \right)} + {\left( {S_{N - 1}^{(2)} - {2S_{N - 1}^{(1)}} + S_{N - 1}^{(0)}} \right)\gamma_{0}}}t_{0}\quad \text{and}}}$ ${\hat{t}}_{\varphi} = {\frac{{- \left( {S_{N - 1}^{(2)} - {2S_{N - 1}^{(1)}} + S_{N - 1}^{(0)}} \right)}\gamma_{0}}{{a\left( {{S_{N - 1}^{(0)}S_{N - 1}^{(2)}} - \left( S_{N - 1}^{(1)} \right)^{2}} \right)} + {\left( {S_{N - 1}^{(2)} - {2S_{N - 1}^{(1)}} + S_{N - 1}^{(0)}} \right)\gamma_{0}}}{t_{0}.}}$


4. The method of claim 2, further comprising the step of electronically computing sums S_(N) ^((n)) for n=0, 1, and 2 using the following formulas: S _(N) ⁽⁰⁾=γ₀ +αS _(N−1) ⁽⁰⁾, S _(N) ⁽¹⁾=α(S _(N−1) ⁽¹⁾ −S _(N−1) ⁽⁰⁾), and S _(N) ⁽²⁾=α(S _(N−1) ⁽²⁾−2S _(N−1) ⁽¹⁾ +S _(N−1) ⁽⁰⁾).
 5. A method of estimating a period and a time delay of a signal, said method comprising the steps of: a) electrically receiving an N^(th) transition time t₀ of said signal, b) electronically computing a maximum likelihood estimate {circumflex over (T)} of said period using said N^(th) transition time t₀ and a preceding maximum likelihood estimate {tilde over (T)} of said period, and c) electronically computing an N^(th) maximum likelihood estimate {circumflex over (t)}_(φ) of said time delay using said N^(th) transition time t₀.
 6. The method of claim 5, wherein $\hat{T} = {{\overset{\sim}{T} + {\frac{6}{N\left( {N + 1} \right)}t_{0}\quad \text{and}\quad {\hat{t}}_{\varphi}}} = {\frac{{- 2}\left( {{2N} - 1} \right)}{N\left( {N + 1} \right)}{t_{0}.}}}$


7. The method of claim 5, further comprising the step of selecting a forgetting factor α, and wherein said estimates {circumflex over (T)} and {circumflex over (t)}_(φ) depend upon said forgetting factor α.
 8. The method of claim 7, wherein $\hat{T} = {\overset{\sim}{T} + {\left\lbrack \frac{{\left( {N - 1} \right)a^{N + 2}} - {\left( {{3N} - 2} \right)a^{N + 1}} + {\left( {{3N} - 1} \right)a^{N}} + a^{2} - {2a} + 1}{a^{2N} - {N^{2}a^{N + 1}} + {2\left( {N^{2} - 1} \right)a^{N}} - {N^{2}a^{N - 1}} + 1} \right\rbrack t_{0}\quad \text{and}}}$ ${\hat{t}}_{\varphi} = {\left\lbrack \frac{\begin{matrix} {{{- \left( {N - 1} \right)^{2}}a^{N + 2}} + {\left( {{3N} - 4} \right){Na}^{N + 1}} -} \\ {{\left( {{3N} + 1} \right)\left( {N - 1} \right)a^{N}} + {N^{2}a^{N - 1}} + a^{2} - 1} \end{matrix}}{a^{2N} - {N^{2}a^{N + 1}} + {2\left( {N^{2} - 1} \right)a^{N}} - {N^{2}a^{N - 1}} + 1} \right\rbrack {t_{0}.}}$


9. The method of claim 7, wherein {circumflex over (T)}={tilde over (T)}+(1−α)² t ₀ and {circumflex over (t)} _(φ)=−(1−α²)t ₀.
 10. The method of claim 7, further comprising the step of receiving an N^(th) weighting factor γ₀, and wherein said estimates {circumflex over (T)} and {circumflex over (t)}_(φ) depend upon said N^(th) weighting factor γ₀.
 11. A digital phase locked loop for locking on to an input signal, said phase locked loop comprising: a) a receiving means for receiving said input signal; b) a means for determining (i) an N^(th) transition time t₀ of said input signal, and (ii) an N^(th) weighting factor γ₀ to said transition time t₀; c) a circuit for computing maximum likelihood estimates {circumflex over (T)} and {circumflex over (t)}_(φ) of a period and a time delay, respectively, of said input signal, wherein said circuit computes said estimate {circumflex over (T)} using a forgetting factor α, said N^(th) weighting factor γ₀, said N^(th) transition time t₀, and a preceding maximum likelihood estimate {tilde over (T)} of said period; and wherein said circuit computes said estimate {circumflex over (t)}_(φ) using said forgetting factor α, said N^(th) weighting factor γ₀, and said N^(th) transition time t₀; and d) an electrical output responsive to said circuit, for sending an output signal characterized by said estimates {circumflex over (T)} and {circumflex over (t)}_(φ).
 12. The digital phase locked loop of claim 11, wherein said circuit records values of sums S_(N−1) ^((n)) for n=0, 1, and 2, wherein ${S_{N - 1}^{(n)} = {\sum\limits_{i = {({N - 2})}}^{0}\quad {i^{n}\quad a^{- i}\quad {\overset{\sim}{\gamma}}_{i}}}},$

{tilde over (γ)}_(i) being a weighting factor of an i^(th) transition time prior to said N^(th) transition time t₀.
 13. The digital phase locked loop of claim 12, wherein said circuit computes said estimates {circumflex over (T)} and {circumflex over (t)}_(φ) according to the following formulas: $\hat{T} = {\overset{\sim}{T} + {\frac{\left( {S_{N - 1}^{(0)} - S_{N - 1}^{(1)}} \right)\quad \gamma_{0}}{{a\quad \left( {{S_{N - 1}^{(0)}\quad S_{N - 1}^{(2)}} - \left( S_{N - 1}^{(1)} \right)^{2}} \right)} + {\left( {S_{N - 1}^{(2)} - {2S_{N - 1}^{(1)}} + S_{N - 1}^{(0)}} \right)\quad \gamma_{0}}}\quad t_{0}\quad {and}}}$ ${\hat{t}}_{\varphi} = {\frac{{- \left( {S_{N - 1}^{(2)} - {2S_{N - 1}^{(1)}} + S_{N - 1}^{(0)}} \right)}\quad \gamma_{0}}{{a\quad \left( {{S_{N - 1}^{(0)}\quad S_{N - 1}^{(2)}} - \left( S_{N - 1}^{(1)} \right)^{2}} \right)} + {\left( {S_{N - 1}^{(2)} - {2S_{N - 1}^{(1)}} + S_{N - 1}^{(0)}} \right)\quad \gamma_{0}}}\quad {t_{0}.}}$


14. The digital phase locked loop of claim 12, wherein said circuit computes sums S_(N) ^((n)) for n=0, 1, and 2 according to the following formulas: S _(N) ⁽⁰⁾=γ₀ +αS _(N−1) ⁽⁰⁾, S _(N) ⁽¹⁾=α(S _(N−1) ⁽¹⁾ −S _(N−1) ⁽⁰⁾), and S _(N) ⁽²⁾=α(S _(N−1) ⁽²⁾−2S _(N−1) ⁽¹⁾ +S _(N−1) ⁽⁰⁾).
 15. A digital phase locked loop for locking on to an input signal, said phase locked loop comprising: a) a receiving means for receiving said input signal; b) a means for determining an N^(th) transition time t₀ of said input signal; c) a circuit for computing maximum likelihood estimates {circumflex over (T)} and {circumflex over (t)}_(φ) of a period and a time delay, respectively, of said input signal, wherein said circuit computes said estimate {circumflex over (T)} using said N^(th) transition time t₀ and a preceding maximum likelihood estimate {tilde over (T)} of said period; and wherein said circuit computes said estimate {circumflex over (t)}_(φ) using said N^(th) transition time t₀; and d) an electrical output responsive to said circuit, for sending an output signal characterized by said estimates {circumflex over (T)} and {circumflex over (t)}_(φ).
 16. The digital phase locked loop of claim 15, wherein $\hat{T} = {{\overset{\sim}{T} + {\frac{6}{N\quad \left( {N + 1} \right)}\quad t_{0}\quad {and}\quad {\hat{t}}_{\varphi}}} = {\frac{{- 2}\quad \left( {{2N} - 1} \right)}{N\quad \left( {N + 1} \right)}\quad {t_{0}.}}}$


17. The digital phase locked loop of claim 15, wherein said circuit computes said estimates {circumflex over (T)} and {circumflex over (t)}_(φ) using a forgetting factor α.
 18. The digital phase locked loop of claim 17, wherein $\hat{T} = {\overset{\sim}{T} + {\left\lbrack \frac{{\left( {N - 1} \right)\quad a^{N + 2}} - {\left( {{3N} - 2} \right)\quad a^{N + 1}} + {\left( {{3N} - 1} \right)\quad a^{N}} + a^{2} - {2a} + 1}{a^{2N} - {N^{2}\quad a^{N + 1}} + {2\quad \left( {N^{2} - 1} \right)\quad a^{N}} - {N^{2}\quad a^{N - 1}} + 1} \right\rbrack \quad t_{0}\quad {and}}}$ ${\hat{t}}_{\varphi} = {\left\lbrack \frac{{{- \left( {N - 1} \right)^{2}}\quad a^{N + 2}} + {\left( {{3N} - 4} \right)\quad {Na}^{N + 1}} - {\left( {{3N} + 1} \right)\quad \left( {N - 1} \right)\quad a^{N}} + {N^{2}\quad a^{N - 1}} + a^{2} - 1}{a^{2N} - {N^{2}\quad a^{N + 1}} + {2\quad \left( {N^{2} - 1} \right)\quad a^{N}} - {N^{2}\quad a^{N - 1}} + 1} \right\rbrack \quad {t_{0}.}}$


19. The digital phase locked loop of claim 17, wherein {circumflex over (T)}={tilde over (T)}+(1−α)² t ₀ and {circumflex over (t)} _(φ)=−(1−α²)t ₀.
 20. The digital phase locked loop of claim 17, further comprising a means for determining an N^(th) weighting factor γ₀ of said N^(th) transition time t₀; wherein said circuit computes said estimates {circumflex over (T)} and {circumflex over (t)}_(φ) using said N^(th) weighting factor γ₀. 